এসকিউএল হ্যাভিং (SQL Having)

Database Tutorials - এসকিউএল (SQL) - এসকিউএল ডাটাবেস (SQL Database) | NCTB BOOK

SQL HAVING Clause

Aggregate ফাংশন এর সাথে WHERE কিওয়ার্ড ব্যবহার করা যেত না বলে SQL এ HAVING clause যোগ করা হয়েছিল।

SQL HAVING সিনট্যাক্স

SELECT name_of_column, aggregate_function(name_of_column)
FROM name_OF_table
WHERE name_of_column operator value
GROUP BY name_of_column
HAVING aggregate_function(name_of_column) operator value;

 


 

নমুনা ডেটাবেজ

HAVING Clause এর ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।

নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ

আইডি নংরোল নাম্বারশিক্ষার্থীর নামপ্রতিষ্ঠানের নামঠিকানা
১০১তামজীদ হাসানজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০২মিনহাজুর রহমানজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৩মোঃ সবুজ হোসেনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৪ইয়াসিন হোসেনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৫ফরহাদ উদ্দিনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর

নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়াঃ

আইডি নংরোল নাম্বারউপস্থিতিভর্তির তারিখ
১০১৮৯০১-১১-২০১৫
১০২৯১০১-১১-২০১৫
১০৩৮০০১-১১-২০১৫
১০৪৭৫০২-১১-২০১৫
১০৫৭৭০২-১১-২০১৫

SQL HAVING Clause এর উদাহরণ

নিচের SQL স্টেটমেন্টটি যে সকল শিক্ষার্থী ৭৫ শতাংশ উপস্থিত ছিল তাদেরকে সিলেক্ট করবে।

উদাহরণ

SELECT Student_details.Student_name, Student_attendance.Roll_number, COUNT(Student_attendance.Attendance) AS Attendance
FROM (Student_attendance
INNER JOIN Student_details
ON Student_attendance.Roll_number=Student_details.Roll_number)
GROUP BY Student_name
HAVING COUNT(Student_attendance.Attendance) > 75;

 


 

ফলাফল

রোল নাম্বারশিক্ষার্থীর নামশতকরা উপস্থিতি
১০১তামজীদ হাসান৮৯%
১০২মিনহাজুর রহমান৯১%
১০৩মোঃ সবুজ হোসেন৮০%
১০৪ইয়াসিন হোসেন৮৭%
১০৫ফরহাদ উদ্দিন৮৫%

এখন আমরা খুজে বের করবো, শিক্ষার্থী "তামজীদ হসান" অথবা "মিনহাজুর রহমান" শতকরা ৯০ শতাংশ উপস্থিত ছিল কি না।

উদাহরণ

SELECT Student_details.Student_name, Student_attendance.Roll_number, COUNT(Student_attendance.Attendance) AS Attendance
FROM (Student_attendance
INNER JOIN Student_details
ON Student_attendance.Roll_number=Student_details.Roll_number)
WHERE Student_name="তামজীদ হসান" OR Student_name="মিনহাজুর রহমান"
GROUP BY Student_name
HAVING COUNT(Student_attendance.Attendance) > 90;

 


 

ফলাফল

রোল নাম্বারশিক্ষার্থীর নামশতকরা উপস্থিতি
১০২মিনহাজুর রহমান৯১%
Content added By
Promotion